»		\section{Description du contexte de l’application}

L'application souhaitée a été l'implémentation directe d'une base de données liant différentes entités dans le domaine du Basket-ball. Pour ce faire, une longue réflexion a été mené sur le choix des entités à créer et à mettre en relation afin de disposer d'une base cohérente. Nous allons voir à travers ce rapport comment a été mise en œuvre cette base de données ainsi que l'interface qui permet de voir au plus clair, les résultats des requêtes.
		\section{Modèle entité-association}  
			\subsection{Entités}
Les entités pour cette base de données ont été choisi de manière à ce qu'elles soient les plus représentatives de la réalité. De ce fait, nous avons crée 11 entités : 

\begin{enumerate}
\item INDIVIDU :
Représente une personne avec ces informations principales.
Elle contient son ID, le nom et prénom de l'individu, son adresse, sa date de naissance et son genre.
\item LICENCIE :
Représente l'entité la plus importante. Elle permet de définir un joueur, un entraineur et indique l'appartenant à un club ou à un bureau.
Elle contient son ID, l'ID de l'individu, l'ID de son club ainsi que la date d'entrée et de sortie dans la fédération de basket-ball
\item JOUEUR :
Représente un maillon de l'équipe. Il pourra participer ou non à un match.
Elle contient son ID, l'ID du licencié, l'ID de son équipe, sa date de début en tant que joueur et de fin.
\item CLUB :
Le club pourra contenir plusieurs équipes et les différents clubs pourront s'affronter.
Elle contient l'ID du club uniquement.
\item BUREAU :
Cette entité représente l'instance qui gère la fédération de Basket-ball. Plusieurs Licenciés pourront la représenter.
Elle contient son ID, l'ID du licencié, le poste occupé, et la date de début et de fin du bureau. On ne tiendra pas en compte d'une éventuelle démission.
\item ENTRAINEUR :
L'entraineur peut s'occuper d'une ou de plusieurs équipes et est impérativement un licencié. En revanche, il ne peut pas être joueur.
Elle contient son ID, l'ID de son équipe, l'ID du licencié et la date de début et de fin du mandat d'entraineur.
\item EQUIPE :
Cette entité regroupe des joueurs et en plus de se distinguer par son ID, elle entre dans une catégorie.
Elle contient son ID, l'ID du club et de sa catégorie, et son numéro.
\item CATEGORIE :
La catégorie permet la distinction entre les différents niveaux des équipes. De ce fait, lors des championnats, elle pourra affronter une équipe de sa catégorie.
Elle contient son ID qui représente le type de catégorie.
\item PARTICIPATION :
Cette entité indique si un joueur à participer à une rencontre ou non.
Elle contient son ID, les ID du joueur et de la rencontre, le nombre de points et de fautes qu'a effectué et reçu le joueur.
\item RENCONTRE :
Une rencontre détermine un match entre 2 équipes.
Elle contient son ID, l'ID de l'équipe recevante et de l'équipe visiteur, l'ID du championnat et la date de la rencontre
\item CHAMPIONNAT : 	
Un championnat est un ensemble de rencontre et se distingue selon les catégories.
Elle contient son ID, l'ID de la catégorie et le nom du championnat.
\end{enumerate}
			\subsection{Associations}
Nous avons établi au total 13 associations entre les différentes entités :
\begin{enumerate}
\item INDIVIDU $\rightarrow$ LICENCIE :
A un individu est associé un unique licencié et inversement, il peut y voir plus d'individus que de licenciés.
\item CLUB $\rightarrow$ LICENCIE :
Un club est associé à des licencié tandis qu'un licencié doit appartenir à au plus un club.
\item LICENCIE $\rightarrow$ BUREAU :
Plusieurs licenciés appartiennent au bureau et à un membre du bureau correspond un licencié.
\item LICENCIE $\rightarrow$ ENTRAINEUR :
Un licencié peut être un entraîneur une ou plusieurs equipes et un entraineur est obligatoirement un licencié.
\item LICENCIE $\rightarrow$ JOUEUR :
Tous les joueurs sont des licenciés, la réciproque est fausse: il existe des licences "dirigeant" pour les personnes ne voulant pas jouer.
\item JOUEUR$\rightarrow$ EQUIPE :
Il y a en théorie entre 5 et 13 joueurs par équipe. Dans l'implémentation, nous avons été permissifs sur le nombre de joueurs pour ne pas passer trop de temps à remplir les tables.
\item ENTRAINEUR $\rightarrow$ EQUIPE :
Une équipe possède au moins un entraineur, l'entraineur n'entraine qu'une seul équipe. Si un licencié veut entrainer plusieurs équipes, il est alors plusieurs entraineurs à la fois.
\item EQUIPE $\rightarrow$ CATEGORIE :
Une équipe n'a qu'une catégorie: elle peut être poussin, cadet, senior \dots
\item JOUEUR $\rightarrow$ PARTICIPATION :
Au moins 10 joueurs (5 par équipe) participent à un match.
\item PARTICIPATION $\rightarrow$ RENCONTRE :
Au moins 10 participants font une rencontre.
\item RENCONTRE $\rightarrow$ CHAMPIONNAT :
Un championnat est composé de plusieurs rencontres.
\item RENCONTRE $\rightarrow$ EQUIPE:
2 equipes participent à une rencontre: les recevants et les visiteurs.
\item CATEGORIE $\rightarrow$ CHAMPIONNAT :
Dans un championnat, il peut y avoir des affrontements entre plusieurs catégories: Coupe de France Cadet,Senior \dots


\end{enumerate}
			\subsection{Règles de gestion}
L'ensemble des identifiants d'équipes des joueurs qui participent à un rencontre doit être égale à la paire d'identifiants de l'équipe recevant et de l'équipe visiteur de la rencontre.

		\section{Liste des opérations prévues sur la base} 
			\subsection{Consultations}
Nous avons implémenté les requêtes de consultation suivantes:
\begin{itemize}
\item{Informations concernants les Individus}
  \begin{itemize}
    \item Liste des individus de la base
    \item Nombre d'individus de la base
  \end{itemize}
\item{Informations concernants les clubs}
  \begin{itemize}
    \item Liste des licenciés
    \item Nombre de licenciés
    \item Composition du bureau
    \item Liste des entraineurs
    \item Liste des équipes
    \item Liste des rencontres 
  \end{itemize}
\item{Informations concernants les équipes}
  \begin{itemize}
    \item Joueurs d'une équipe
    \item Liste des matchs
  \end{itemize}
\item{Informations concernants les joueurs}
  \begin{itemize}
    \item Nombre de matchs joués
    \item Cumul des fautes
    \item Cumul des points
    \item Points marqués à une date donnée
    \item Fautes commises à une date donnée
    \item Matchs joués
    \item \'{E}quipes du joueur
    \item Ancienneté
  \end{itemize}
\item{Informations concernants les catégories}
  \begin{itemize}
    \item Nombre d'équipes par catégorie
  \end{itemize}
\item{Informations concernants les rencontres}
  \begin{itemize}
    \item Liste des Joueurs d'une rencontre
    \item Score d'une équipe à une rencontre
    \item Score équipe recevant à une rencontre
    \item Résultats d'une rencontre
  \end{itemize}
\item{Informations concernants les championnat}
  \begin{itemize}
    \item Liste des equipes du championnat
    \item Cumul points marqués par les equipes du championnat
    \item Résultat des rencontres du championnat
  \end{itemize}
\item{Informations concernants la federation}
  \begin{itemize}
    \item Liste des clubs
    \item Liste des rencontres (en fonction de la date)
  \end{itemize}
\end{itemize}
			\subsection{Statistiques}
Nous avons implémenté les requêtes de statistiques suivantes:
\begin{itemize}
\item{Informations concernants les joueurs}
  \begin{itemize}
    \item Moyenne de points par match d'un joueur
    \item Moyenne de fautes par match d'un joueur
    \item Moyenne par joueur et par match de points et fautes
    \item Moyenne de matchs joués
  \end{itemize}
\item{Informations concernants les championnat}
  \begin{itemize}
    \item Cumul points marqués par les equipes du championnat
    \item Classement des equipes par victoire, défaites, score cumulé
    \item Classement des joueurs d'un championnat sur un intervalle de temps
  \end{itemize}
\item{Informations concernants la federation}
  \begin{itemize}
    \item Classement des clubs par nombre de licenciés
  \end{itemize}
\end{itemize}
			\subsection{Mises à jour}
Un exemple d'ajout, de modifications et de suppressions pour toutes les tables:
\begin{itemize}
    \item \texttt{INDIVIDU}    
    \item \texttt{CLUB}
    \item \texttt{LICENCIE}
    \item \texttt{BUREAU}
    \item \texttt{ENTRAINEUR}
    \item \texttt{JOUEUR}
    \item \texttt{EQUIPE}
    \item \texttt{CATEGORIE}
    \item \texttt{RENCONTRE}
    \item \texttt{PARTICIPATION}
\end{itemize}
Dans certains cas la suppression consiste en une mise à jour de date, car on garde un historique de la table.La quantité exemples est limité car il existe un grand nombre de combianaison de mises à jour possible, en revanche l'interface permet d'en effectuer plus.
